#include <stdio.h>
#include <math.h>
#include <string.h>

float dotn(float n, int m)
{
    int t = n * m;
    float c = t / m;
    return c;
}

double cirlce(double r)
{
    double pi = 3.14;
    double c = 2 * pi * r;
    double s = pi * r * r;
    printf("%.2lf\n%.2lf\n", c, s);
    return s;
}

// F=1.8∗C+32
double c2f(double c)
{
    return 1.8 * c + 32;
}

double bmi(double w, double h)
{
    return w / (h * h);
}

void reverseNum(int n)
{

    {
        printf("%d%d", n % 10, n / 10);
        /* code */
    }
}

double ringSquare(double r1, double r2)
{
    double pi = 3.14;
    return pi * (r1 * r1 - r2 * r2);
}

unsigned long long sum(unsigned long long n)
{

    return (n + 1) * n / 2;
}

double f100(int n)
{
    int m;
    double k = 1.00417;
    double res = 0;

    for (m = 0; m < 6; m++)
    {
        res = (res + n) * k;
    }
    return res;
}

int sum101(int count)
{
    int n = 0;
    while (count)
    {
        /* code */
        n += count % 10;
        count /= 10;
    }

    return n;
}
// 经典注水 我就设总水量是1
double f102(int a, int b, int c, int t)
{
    double water = (1.0 / a + 1.0 / b) * t;
    double time = (1 - water) / (1.0 / a + 1.0 / b - 1.0 / c) + t;
    return time;
}
double square(char shape, double m, double n)
{
    double s = m * n;
    int flag;
    char t = "t";
    if (shape == 116)
    {
        s /= 2;
    }
    // if( flag = strcmp( &shape , &t)){ s/=2 ;}
    // sscanf(flag, "%[t]", shape);
    // printf("%d\n", flag);
    return s;
}

int shuwei(int n)
{
    int b;
    printf("%d enter func \n", n);

    while (n != 0)
    {
        b = n % 10; // 得到最低位
        n /= 10;
        printf("%d  %d while \n", b, n);
        if (!(b & 1))
            return 1; // 看来位运算不能直接判偶
        /* code */
    }
    return 0;
}
//  case 后面必须是 整型常量
char *findName(char cap)


{
    int h = 'He';
    // printf("%d", cap);
    switch (cap)
    {
    case 104:
        return "He";
    case 108:
        return "Li";
    case 99:
        return "Cao";
    case 100:
        return "Duan";
    case 119:
        return "Wang";

        break;

    default:
        return "Not Here";
        break;
    }
}

int main()
{
    int n1, n2, n3, n4;
    char *str;
    // 一旦过滤掉非空字符就会出现死循环的问题
    while (scanf("%c", &str) != EOF)
    {
      if(str != 10)   printf("%s\n", findName(str));
    }
    // printf("%.2lf",  square(str, n1,n2));
    return 0;
}